/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jmodcog2.map.pix;

/**
 *
 * @author Mitch
 */
public class UntrainedFeatureMap extends FeatureMap {

    protected final float init_learn;
    protected final float init_rad;
    protected final float T;
    protected final int[] t = new int[]{0};
    protected final float[] node_vecs;
    protected final float[] learn_rate;                 //len = num_nodes
    protected final float[] radius = new float[1];     //num_inputs

    public UntrainedFeatureMap(FeatureMapConfig config) {
        super(config, false);
        this.init_learn = config.initialLearnRate();
        this.init_rad = config.initialRadialDist();
        this.T = config.maxTime();
        this.node_vecs = new float[num_nodes * vec_size];
        this.learn_rate = new float[num_nodes];
        this.radius[0] = init_rad;
        put(node_vecs);
        put(learn_rate);
        put(t);
        put(radius);
    }
    //
 

    protected int _learn_index(int unit_x, int unit_y, int node) {
        return _get3D_n(unit_x, unit_y, node, num_units_y, num_nodes);
    }

    protected int _radius_index(int unit_x, int unit_y) {
        return _get2D_n(unit_x, unit_y, num_units_y);
    }

    @Override
    protected void _run(int mode) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public float[] getOutput() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean process(float[] input) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    protected float _get_node_w(int node_vec_index) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
